﻿/************************************************************************************
 * xujiajun@yoozoo.com 御剑
 * 显示相关的元素的抽象接口
 ***********************************************************************************/

using UnityEngine;

namespace WorldMapBase.Display
{
    /// <summary>
    /// 显示相关的元素的抽象接口
    /// </summary>
    public interface IDisplayElement
    {
        /// <summary>
        /// 返回该显示元素的资源ID
        /// </summary>
        /// <returns>资源ID</returns>
        int GetResID();

        /// <summary>
        /// 显示元素创建时响应
        /// </summary>
        /// <param name="resID">资源ID</param>
        void OnCreate(int resID);

        /// <summary>
        /// 显示元素销毁时响应
        /// </summary>
        void OnDestroy();

        /// <summary>
        /// 设置显示元素的位置坐标
        /// </summary>
        /// <param name="pos">坐标</param>
        void SetPosition(Vector3 pos);

        /// <summary>
        /// 设置显示元素的旋转
        /// </summary>
        /// <param name="rot">欧拉角</param>
        void SetRotation(Vector3 rot);

        /// <summary>
        /// 设置显示元素的缩放
        /// </summary>
        /// <param name="scl">缩放系数</param>
        void SetScale(Vector3 scl);

        void SetOpenUp(int lodLv, float percent);
    }

}
